Gale-Chapleau algorithm